# coding: utf-8
'''
describe：99乘法表for和while循环各四种输出方式
author：陈力川
date：2018-10-13
'''

# for循环
print("for循环：")
# 输出99乘法表左对齐正三角
for i in range(1, 10):  # 循环1-9行
    for j in range(1, i + 1):  # 循环每行乘法式
        print("{}*{}={:<2}".format(j, i, j * i), end=" ")  # 打印各个乘法式
    print("")  # 换行

# 输出99乘法表左对齐倒三角
for i in range(9, 0, -1):  # 循环9-1行
    for j in range(1, i + 1):  # 循环每行乘法式
        print("{}*{}={:<2}".format(j, i, j * i), end=" ")  # 打印各个乘法式
    print("")  # 换行

# 输出99乘法表右对齐倒三角
for i in range(9, 0, -1):  # 循环9-1行
    print(" " * 7 * (9 - i), end='')  # 输出占位符
    for j in range(i, 0, -1):  # 循环每行乘法式
        print("{}*{}={:<2}".format(j, i, j * i), end=" ")  # 打印各个乘法式右对齐
    print("")  # 换行

# 输出99乘法表右对齐正三角
for i in range(1, 10):  # 循环1-9行
    print(" " * 7 * (9 - i), end='')  # 输出占位符
    for j in range(i, 0, -1):  # 循环每行乘法式
        print("{}*{}={:<2}".format(j, i, j * i), end=" ")  # 打印各个乘法式右对齐
    print("")  # 换行

print("=" * 62)  # 等号分割

# while循环
print("while循环：")
# 输出99乘法表左对齐正三角
i = 1  # 初始化
while i <= 9:
    j = 1  # 初始化
    while j <= i:
        print("{}*{}={:<2}".format(j, i, j * i), end=" ")  # 打印每行各个乘法式
        j += 1
    i += 1
    print("")

# 输出99乘法表左对齐倒三角
i = 9  # 初始化
while i >= 1:
    j = 1  # 初始化
    while j <= i:
        print("{}*{}={:<2}".format(j, i, j * i), end=" ")  # 打印每行各个乘法式
        j += 1
    i -= 1
    print("")

# 输出99乘法表右对齐倒三角
i = 9  # 初始化
while i >= 1:
    print(" " * 7 * (9 - i), end='')  # 输出占位符
    j = i  # 初始化
    while j >= 1:
        print("{}*{}={:<2}".format(j, i, j * i), end=" ")  # 打印每行各个乘法式
        j -= 1
    i -= 1
    print("")

# 输出99乘法表右对齐正三角
i = 1  # 初始化
while i <= 9:
    print(" " * 7 * (9 - i), end='')  # 输出占位符
    j = i  # 初始化
    while j >= 1:
        print("{}*{}={:<2}".format(j, i, j * i), end=" ")  # 打印每行各个乘法式
        j -= 1
    i += 1
    print("")
